Playing
WAVE Resources
You can use
the PlaySound
PlaySound Example
PlaySound( SoundName , hInst, SND_RESOURCE |
SND_ASYNC);
sndPlaySound Example
The
SND_MEMORY flag indicates that the lpszSoundName parameter is a pointer
to an in-memory image of the WAVE file. To include a WAVE file as a resource in
an application, add the following entry to the application s resource script
(.RC) file.
soundName WAVE c:\sounds\bells.wav
The name soundName
is a placeholder for a name that you supply to refer to this WAVE resource.
WAVE resources are loaded and accessed just like other application-defined
Windows resources. The PlayResource function in the following example plays a
specified WAVE resource.
BOOL PlayResource(LPSTR lpName)
{
BOOL bRtn;
LPSTR
lpRes;
HANDLE
hResInfo, hRes;
// Find
the WAVE resource.
hResInfo =
FindResource(hInst, lpName, "WAVE");
if
(hResInfo == NULL)
return
FALSE;
// Load
the WAVE resource.
hRes =
LoadResource(hInst, hResInfo);
if (hRes
== NULL)
return
FALSE;
// Lock
the WAVE resource and play it.
lpRes =
LockResource(hRes);
if (lpRes
!= NULL) {
bRtn =
sndPlaySound(lpRes, SND_MEMORY | SND_SYNC |
SND_NODEFAULT);
UnlockResource(hRes);
}
else
bRtn =
0;
// Free the
WAVE resource and return success or failure.
FreeResource(hRes);
return
bRtn;
}
To play a
WAVE resource by using this function, pass to the function a pointer to a
string containing the name of the resource, as shown in the following example.
PlayResource("soundName");